IPC SDIO wifi


1. 概述

平台:SSC336Q + RTL8821cs

sdk版本:stable01_i6e_i6b0_ipc release_0813

问题:rtl8821cs 在Pudding 平台点不起来,sd clk 不输出。


2. debug过程

  1. 编译wifi driver。

    修改wifi src code 的makfile。

    CONFIG_PLATFORM_MSTAR=y
    
    ARCH=arm
    
    CROSS_COMPILE:=arm-linux-gnueabihf-9.1.0-
    
    KVER:=4.9.4
    
    KSRC:=/xxx/kernel
    
    make clean;make;make strip
    
  2. 修改padmux, arch/arm/boot/dts/infinity6e-padmux.dtsi

  3. 修改dts, arch/arm/boot/dts/infinity6e-ssc012b-s01a.dts

  4. 操作rtl8821cs 的使能脚,使wifi 使能。

  5. 重新build kernel。在uboot上手动引导kernel。(sdio1 clk 有输出,但cmd不对) 用LA 抓波形,发现clk输出,但是cmd 不对。第一个cmd应该使cmd52,但解析器解出来使cmd0。

  6. 对比公版的原理图,发现sdio1 中的cmd/dat0/½/3 这五个管脚有上拉电阻,如果把公版的上拉去掉,用LA 抓的波形跟上一步一样。

    在用的板子对应的pad 上增加上拉电阻。再用LA量测波形。

    此时发出来的cmd 是正确的。但wifi模组依然没有回应。此时应该找wifi模组厂商进行确认。


3. 注意事项

经硬件确认,Pudding有两组SDIO , SDIO0 是内部带上拉。SDIO1 内部没带上拉。

早期提供的checklist存在误差,请注意,如果用户在sdio 1上接外设,请使用上拉。